package com.moli.iov.down.remote;

import com.moli.iov.down.model.dto.req.VehicleParamDto;
import com.moli.iov.down.model.po.VehicleParam;
import com.moli.iov.rest.RestResponse;
import java.util.List;
import java.util.Set;

/**
 * <p>
 * 参数业务
 * </p>
 *
 * @author zql
 * @since 2019/9/17 17:18
 */
public interface IVehicleParamRemoteService {

  /**
   * 参数查询命令
   * @param vins
   * @return
   */
  RestResponse sendQueryParameterCommand(List<String> vins);

  /**
   * 返回在线的vins
   * @param vins
   * @return
   */
  List<String> getOnlineVins(List<String> vins);

  /**
   * 获取设备参数
   * @param vehicleParamDto
   * @return
   */
  RestResponse<VehicleParam> getVehicleParam(VehicleParamDto vehicleParamDto);

  /**
   * 查询单个参数
   * @param vin
   * @return
   */
  VehicleParam getVehicleParamByVin(String vin);

  List<String> getNonExistentVins(List<String> vins);

  Set<String> getSoftVersionList();
}
